คู่มือนี้จะแสดงแนวทางปฏิบัติจริงในการติดตั้งใช้งานแอปพลิเคชันโดยใช้การเรียกใช้ฟังก์ชันด้วย Gemma เทคนิคนี้ใช้ได้กับ Gemma โมเดลเวอร์ชันต่างๆ ผ่านการวิศวกรรมพรอมต์อย่างละเอียด ดูข้อมูลเพิ่มเติมได้ในBeyond the Chatbot: Agentic AI with Gemma
คำอธิบายการเรียกใช้ฟังก์ชัน
โครงสร้างทั่วไปสำหรับการเรียกใช้ฟังก์ชันประกอบด้วยคอมโพเนนต์หลัก 2-3 รายการ ซึ่งออกแบบมาเพื่อให้ Gemma โต้ตอบกับเครื่องมือหรือ API ภายนอกได้
อธิบายเครื่องมือ
คุณบอกโมเดลเกี่ยวกับ "เครื่องมือ" (ฟังก์ชัน) ที่ใช้ได้ ซึ่งรวมถึงเนื้อหาต่อไปนี้- สิ่งที่เครื่องมือทํา (คําอธิบาย)
- ข้อมูลที่จำเป็นสำหรับเครื่องมือ (พารามิเตอร์)
ผู้ใช้ถามคําถาม
คุณถามคําถามหรือมอบหมายงานให้โมเดลGemma ตัดสินใจ
โมเดลจะพิจารณาว่าต้องใช้เครื่องมือในการตอบคำถามหรือไม่Gemma ขอเครื่องมือ
หากต้องใช้เครื่องมือ Gemma จะสร้างโค้ดที่รวมไว้กับ ```tool_code```เครื่องมือทํางาน
เครื่องมือ (ฟังก์ชัน) จะนำข้อมูลจากโมเดลและทำสิ่งที่ควรจะทําเครื่องมือแสดงผลลัพธ์
Gemma คาดว่าจะได้รับผลลัพธ์ที่รวมอยู่ใน ```tool_output```Gemma ให้คำตอบสุดท้าย
โมเดลจะใช้ผลลัพธ์ของเครื่องมือเพื่อสร้างคำตอบที่สมบูรณ์และถูกต้องให้กับคุณ
คำแนะนำที่เป็นประโยชน์
- สคีมา JSON: การใช้สคีมา JSON ในการกําหนดพารามิเตอร์ (ไม่บังคับ) มีข้อดีคือโครงสร้างที่สอดคล้องกันและการตรวจสอบอัตโนมัติ
- ความเข้าใจที่ชัดเจน: คุณภาพของคำอธิบายฟังก์ชันเป็นสิ่งสําคัญอย่างยิ่งเพื่อให้โมเดลระบุเวลาที่จะใช้ฟังก์ชันได้อย่างถูกต้อง
- การจัดการข้อผิดพลาด: การจัดการข้อผิดพลาดที่มีประสิทธิภาพเป็นสิ่งจําเป็นในการจัดการกรณีที่การเรียกฟังก์ชันไม่สําเร็จหรือแสดงผลลัพธ์ที่ไม่คาดคิด
- กระบวนการแบบวนซ้ำ: บางครั้งการสนทนาระหว่างโมเดลกับการเรียกใช้ฟังก์ชันอาจมีหลายรอบ
ตัวอย่างพรอมต์และเอาต์พุต
คุณสามารถดูโค้ดสําหรับแอปพลิเคชันนี้ได้ในที่เก็บโค้ด Gemma Cookbook
ขั้นตอนที่ 1 และ 2: อธิบายเครื่องมือและมอบหมายงาน
อินพุต: รูปภาพแมวตลกๆ
อินพุตข้อความ:
If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.
You have access to the following tools.
* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters
Make a funny meme with this. "meme.jpg"
ขั้นตอนที่ 3: Gemma ตัดสินใจและขอเครื่องมือ
พรอมต์นี้จะสร้างคำตอบต่อไปนี้
Okay, here's a funny meme based on the image of the surprised cat: ```tool_code generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.") ```
ขั้นตอนที่ 4: เครื่องมือทํางาน
คุณจะประมวลผลเอาต์พุตของโมเดลโดยค้นหาบล็อกโค้ด แยกวิเคราะห์อาร์กิวเมนต์ของฟังก์ชัน และเรียกใช้ฟังก์ชัน